<h1 id="rm">rm</h1>
<p>用于删除给定的文件和目录</p>
<h2 id="补充说明">补充说明</h2>
<p><strong>rm</strong> <strong>命令</strong> 可以删除一个目录中的一个或多个文件或目录，也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件，只是删除整个链接文件，而原有文件保持不变。</p>
<p>注意：使用rm命令要格外小心。因为一旦删除了一个文件，就无法再恢复它。所以，在删除文件之前，最好再看一下文件的内容，确定是否真要删除。rm命令可以用-i选项，这个选项在使用文件扩展名字符删除多个文件时特别有用。使用这个选项，系统会要求你逐一确定是否要删除。这时，必须输入y并按Enter键，才能删除文件。如果仅按Enter键或其他字符，文件不会被删除。</p>
<h3 id="语法">语法</h3>
<pre><code class="language-bash">rm (选项)(参数)</code></pre>
<h3 id="选项">选项</h3>
<pre><code class="language-bash">-d：直接把欲删除的目录的硬连接数据删除成0，删除该目录；
-f：强制删除文件或目录；
-i：删除已有文件或目录之前先询问用户；
-r或-R：递归处理，将指定目录下的所有文件与子目录一并处理；
--preserve-root：不对根目录进行递归操作；
-v：显示指令的详细执行过程。</code></pre>
<h3 id="参数">参数</h3>
<p>文件：指定被删除的文件列表，如果参数中含有目录，则必须加上<code>-r</code>或者<code>-R</code>选项。</p>
<h3 id="实例">实例</h3>
<p>交互式删除当前目录下的文件test和example</p>
<pre><code class="language-bash">rm -i test example
Remove test ?n（不删除文件test)
Remove example ?y（删除文件example)</code></pre>
<p>删除当前目录下除隐含文件外的所有文件和子目录</p>
<pre><code class="language-bash"># rm -r *</code></pre>
<p>应注意，这样做是非常危险的!</p>
<p><strong>rm 命令删除文件</strong></p>
<div class="sourceCode" id="cb5"><pre><code class="language-bash"><a class="sourceLine" id="cb5-1" data-line-number="1"><span class="co"># rm 文件1 文件2 ...</span></a>
<a class="sourceLine" id="cb5-2" data-line-number="2"><span class="fu">rm</span> testfile.txt</a></code></pre></div>
<p><strong>rm 命令删除目录</strong></p>
<blockquote>
<p>rm -r [目录名称] -r 表示递归地删除目录下的所有文件和目录。 -f 表示强制删除</p>
</blockquote>
<pre><code class="language-bash">rm -rf testdir
rm -r testdir</code></pre>
<p><strong>删除操作前有确认提示</strong></p>
<blockquote>
<p>rm -i [文件/目录]</p>
</blockquote>
<pre><code class="language-bash">rm -r -i testdir</code></pre>
<p><strong>rm 忽略不存在的文件或目录</strong></p>
<blockquote>
<p>-f 选项（LCTT 译注：即 “force”）让此次操作强制执行，忽略错误提示</p>
</blockquote>
<pre><code class="language-bash">rm -f [文件...]</code></pre>
<p><strong>仅在某些场景下确认删除</strong></p>
<blockquote>
<p>选项 -I，可保证在删除超过 3 个文件时或递归删除时（LCTT 译注： 如删除目录）仅提示一次确认。</p>
</blockquote>
<pre><code class="language-bash">rm -I file1 file2 file3</code></pre>
<p><strong>删除根目录</strong></p>
<blockquote>
<p>当然，删除根目录（/）是 Linux 用户最不想要的操作，这也就是为什么默认 rm 命令不支持在根目录上执行递归删除操作。 然而，如果你非得完成这个操作，你需要使用 –no-preserve-root 选项。当提供此选项，rm 就不会特殊处理根目录（/）了。</p>
</blockquote>
<pre><code class="language-bash">不给实例了，操作系统都被你删除了，你太坏了😆</code></pre>
<p><strong>rm 显示当前删除操作的详情</strong></p>
<pre><code class="language-bash">rm -v [文件/目录]</code></pre>
<!-- Linux命令行搜索引擎：https://jaywcjlove.github.io/linux-command/ -->
